home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / ogrid100.zip / GLLSTR.INT < prev    next >
Text File  |  1994-12-29  |  2KB  |  68 lines

  1. {*****************************************************************************
  2.  
  3.   OOGrid Library(TM) v1.0 for Borland/Turbo Pascal (Real Mode/TV)
  4.   Copyright (C) 1994 by Arturo J. Monge
  5.   Portions Copyright (C) 1989,1990 Borland International, Inc.
  6.  
  7.   Borland's long strings unit:
  8.     This is Borland's TCLSTR.PAS unit with some minor
  9.     modifications necessary for adapting the LString object for
  10.     use by the TSpreadSheet object.
  11.  
  12.   Copyright (C) 1989,1990 Borland International, Inc.
  13.  
  14.   Last Modification : December 29th, 1994
  15.  
  16. *****************************************************************************}
  17.  
  18. unit GLLStr;
  19.  
  20. {$O+,F+}
  21.  
  22. {****************************************************************************}
  23.                                  interface
  24. {****************************************************************************}
  25.  
  26. uses Objects;
  27.  
  28. const
  29.   MaxLStringLength = 65521;  { The maximum amount that can be allocated
  30.                                to a pointer }
  31.  
  32. type
  33.   LStringRange = 0..MaxLStringLength;
  34.   LStringData = array [1..MaxLStringLength] of Char;
  35.   PLStringData = ^LStringData;
  36.   PLString = ^LString;
  37.   LString = object(TObject)
  38.     Len : LStringRange;        { Current length }
  39.     MaxLen : LStringRange;     { Length that has been allocated.  This is
  40.                                  always allocated in blocks of 16 bytes so
  41.                                  that the long string's data doesn't have to
  42.                                  be reallocated every time the long string
  43.                                  grows }
  44.     Data : PLStringData;
  45.     constructor Init;
  46.     destructor Done; VIRTUAL;
  47.     function SetValue(NewLen : LStringRange; NewData : Pointer) : Boolean;
  48.     function FromString(S : String) : Boolean;
  49.     function ToString : String;
  50.     function Length : LStringRange;
  51.     function Copy(Start, Amt : LStringRange) : String;
  52.     function Insert(S : String; Start : LStringRange) : Boolean;
  53.     procedure Delete(Start, Amt : LStringRange);
  54.     function Append(S : String) : Boolean;
  55.     procedure Change(Ch : Char; Start : LStringRange);
  56.     function Assign(LS : LString) : Boolean;
  57.     constructor Load(var S : TStream);
  58.     procedure Store(var S : TStream);
  59.   end;
  60.  
  61.  
  62. {****************************************************************************}
  63.                                implementation
  64. {****************************************************************************}
  65.  
  66. ...
  67.  
  68. end.